8 research outputs found
Proving termination through conditional termination
We present a constraint-based method for proving conditional termination of integer programs. Building on this, we construct a framework to prove (unconditional) program termination using a powerful mechanism to combine conditional termination proofs. Our key insight is that a conditional termination proof shows termination for a subset of program execution states which do not need to be considered in the remaining analysis. This facilitates more effective termination as well as non-termination analyses, and allows handling loops with different execution phases naturally. Moreover, our method can deal with sequences of loops compositionally. In an empirical evaluation, we show that our implementation VeryMax outperforms state-of-the-art tools on a range of standard benchmarks.Peer ReviewedPostprint (author's final draft
Incomplete SMT techniques for solving non-linear formulas over the integers
We present new methods for solving the Satisfiability Modulo Theories problem over the theory of QuantifierFree Non-linear Integer Arithmetic, SMT(QF-NIA), which consists of deciding the satisfiability of ground formulas with integer polynomial constraints. Following previous work, we propose to solve SMT(QF-NIA)
instances by reducing them to linear arithmetic: non-linear monomials are linearized by abstracting them
with fresh variables and by performing case splitting on integer variables with finite domain. For variables
that do not have a finite domain, we can artificially introduce one by imposing a lower and an upper bound
and iteratively enlarge it until a solution is found (or the procedure times out).
The key for the success of the approach is to determine, at each iteration, which domains have to be
enlarged. Previously, unsatisfiable cores were used to identify the domains to be changed, but no clue was
obtained as to how large the new domains should be. Here, we explain two novel ways to guide this process by
analyzing solutions to optimization problems: (i) to minimize the number of violated artificial domain bounds,
solved via a Max-SMT solver, and (ii) to minimize the distance with respect to the artificial domains, solved
via an Optimization Modulo Theories (OMT) solver. Using this SMT-based optimization technology allows
smoothly extending the method to also solve Max-SMT problems over non-linear integer arithmetic. Finally,
we leverage the resulting Max-SMT(QF-NIA) techniques to solve ∃∀ formulas in a fragment of quantified
non-linear arithmetic that appears commonly in verification and synthesis applications.Peer ReviewedPostprint (author's final draft
Monotonic AC-Compatible Semantic Path Orderings
Abstract. Polynomial interpretations and RPO-like orderings allow one
to prove termination of Associative and Commutative (AC-)rewriting
by only checkingthe rules of the given rewrite system. However, these
methods have important limitations as termination provingto ols.
To overcome these limitations, more powerful methods like the dependency
pair method have been extended to the AC-case. Unfortunately,
in order to ensure AC-termination, the so-called extended rules, which,
CA gpApirμj rip hrio nO RiO/pj >skn bp roopo nO nhp ipwiCnp kaknp>.
In this paper we present a fully monotonic AC-compatible semantic path
ordering. This monotonic AC-orderingdefines a new automatable termination
provingmetho d for AC-rewritingwhic h does not need to consider
extended rules. As a hint of the power of this method, we can easily prove
several non-trivial examples appearingin the literature, includingone
that, to our knowledge, can be handled by no other automatic method
Path orderings, quasi-orderings and termination of term rewriting systems
In this paper we present some original variations of the recursive
path ordering. Additionally we define a restricted semantic path
ordering which, in general, does not include the subterm relation,
but is shown to be monotonic. By combining both kind of
orderings we can prove (automatically) the termination of several
(non-simply terminating) examples.Postprint (published version
Path orderings, quasi-orderings and termination of term rewriting systems
In this paper we present some original variations of the recursive
path ordering. Additionally we define a restricted semantic path
ordering which, in general, does not include the subterm relation,
but is shown to be monotonic. By combining both kind of
orderings we can prove (automatically) the termination of several
(non-simply terminating) examples
The recursive path and polynomial ordering for first-order and higher-order terms
In most termination tools two ingredients, namely recursive path orderings (RPOs) and polynomial interpretation orderings
(POLOs), are used in a consecutive disjoint way to solve the final constraints generated from the termination problem. In this
article we present a simple ordering that combines both RPO and POLO and defines a family of orderings that includes both,
and extend them with the possibility of having, at the same time, an RPO-like treatment for some symbols and a POLO-like
treatment for the others. The ordering is extended to higher-order terms, providing a new fully automatable use of polynomial
interpretations in combination with beta-reduction
Incomplete SMT techniques for solving non-linear formulas over the integers
We present new methods for solving the Satisfiability Modulo Theories problem over the theory of QuantifierFree Non-linear Integer Arithmetic, SMT(QF-NIA), which consists of deciding the satisfiability of ground formulas with integer polynomial constraints. Following previous work, we propose to solve SMT(QF-NIA)
instances by reducing them to linear arithmetic: non-linear monomials are linearized by abstracting them
with fresh variables and by performing case splitting on integer variables with finite domain. For variables
that do not have a finite domain, we can artificially introduce one by imposing a lower and an upper bound
and iteratively enlarge it until a solution is found (or the procedure times out).
The key for the success of the approach is to determine, at each iteration, which domains have to be
enlarged. Previously, unsatisfiable cores were used to identify the domains to be changed, but no clue was
obtained as to how large the new domains should be. Here, we explain two novel ways to guide this process by
analyzing solutions to optimization problems: (i) to minimize the number of violated artificial domain bounds,
solved via a Max-SMT solver, and (ii) to minimize the distance with respect to the artificial domains, solved
via an Optimization Modulo Theories (OMT) solver. Using this SMT-based optimization technology allows
smoothly extending the method to also solve Max-SMT problems over non-linear integer arithmetic. Finally,
we leverage the resulting Max-SMT(QF-NIA) techniques to solve ∃∀ formulas in a fragment of quantified
non-linear arithmetic that appears commonly in verification and synthesis applications.Peer Reviewe